Skip to content

[clang] Improve nested name specifier AST representation #147835

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 9, 2025

Conversation

mizvekov
Copy link
Contributor

@mizvekov mizvekov commented Jul 9, 2025

This is a major change on how we represent nested name qualifications in the AST.

  • The nested name specifier itself and how it's stored is changed. The prefixes for types are handled within the type hierarchy, which makes canonicalization for them super cheap, no memory allocation required. Also translating a type into nested name specifier form becomes a no-op. An identifier is stored as a DependentNameType. The nested name specifier gains a lightweight handle class, to be used instead of passing around pointers, which is similar to what is implemented for TemplateName. There is still one free bit available, and this handle can be used within a PointerUnion and PointerIntPair, which should keep bit-packing aficionados happy.
  • The ElaboratedType node is removed, all type nodes in which it could previously apply to can now store the elaborated keyword and name qualifier, tail allocating when present.
  • TagTypes can now point to the exact declaration found when producing these, as opposed to the previous situation of there only existing one TagType per entity. This increases the amount of type sugar retained, and can have several applications, for example in tracking module ownership, and other tools which care about source file origins, such as IWYU. These TagTypes are lazily allocated, in order to limit the increase in AST size.

This patch offers a great performance benefit.

It greatly improves compilation time for stdexec. For one datapoint, for test_on2.cpp in that project, which is the slowest compiling test, this patch improves -c compilation time by about 7.2%, with the -fsyntax-only improvement being at ~12%.

This has great results on compile-time-tracker as well:
image

This patch also further enables other optimziations in the future, and will reduce the performance impact of template specialization resugaring when that lands.

It has some other miscelaneous drive-by fixes.

About the review: Yes the patch is huge, sorry about that. Part of the reason is that I started by the nested name specifier part, before the ElaboratedType part, but that had a huge performance downside, as ElaboratedType is a big performance hog. I didn't have the steam to go back and change the patch after the fact.

There is also a lot of internal API changes, and it made sense to remove ElaboratedType in one go, versus removing it from one type at a time, as that would present much more churn to the users. Also, the nested name specifier having a different API avoids missing changes related to how prefixes work now, which could make existing code compile but not work.

How to review: The important changes are all in clang/include/clang/AST and clang/lib/AST, with also important changes in clang/lib/Sema/TreeTransform.h.

The rest and bulk of the changes are mostly consequences of the changes in API.

PS: TagType::getDecl is renamed to getOriginalDecl in this patch, just for easier to rebasing. I plan to rename it back after this lands.

Fixes #136624
Fixes #43179
Fixes #68670
Fixes #92757

mizvekov added a commit that referenced this pull request Aug 5, 2025
mizvekov added a commit that referenced this pull request Aug 5, 2025
@mizvekov
Copy link
Contributor Author

mizvekov commented Aug 5, 2025

My game plan for merging this PR is to merge all the other PRs into this branch, collapsing everything into a single PR again.
Then wait for CI to pass, and merge it.

Let me know if you have better ideas.

This is a major change on how we represent nested name qualifications in the AST.

* The nested name specifier itself and how it's stored is changed. The prefixes for types are handled within the type hierarchy, which makes canonicalization for them super cheap, no memory allocation required. Also translating a type into nested name specifier form becomes a no-op. An identifier is stored as a DependentNameType. The nested name specifier gains a lightweight handle class, to be used instead of passing around pointers, which is similar to what is implemented for TemplateName. There is still one free bit available, and this handle can be used within a PointerUnion and PointerIntPair, which should keep bit-packing aficionados happy.
* The ElaboratedType node is removed, all type nodes in which it could previously apply to can now store the elaborated keyword and name qualifier, tail allocating when present.
* TagTypes can now point to the exact declaration found when producing these, as opposed to the previous situation of there only existing one TagType per entity. This increases the amount of type sugar retained, and can have several applications, for example in tracking module ownership, and other tools which care about source file origins, such as IWYU. These TagTypes are lazily allocated, in order to limit the increase in AST size.

This patch offers a great performance benefit.

It greatly improves compilation time for [stdexec](https://github.com/NVIDIA/stdexec). For one datapoint, for `test_on2.cpp` in that project, which is the slowest compiling test, this patch improves `-c` compilation time by about 7.2%, with the `-fsyntax-only` improvement being at ~12%.

This has great results on compile-time-tracker as well:
![image](https://github.com/user-attachments/assets/700dce98-2cab-4aa8-97d1-b038c0bee831)

This patch also further enables other optimziations in the future, and will reduce the performance impact of template specialization resugaring when that lands.

It has some other miscelaneous drive-by fixes.

About the review: Yes the patch is huge, sorry about that. Part of the reason is that I started by the nested name specifier part, before the ElaboratedType part, but that had a huge performance downside, as ElaboratedType is a big performance hog. I didn't have the steam to go back and change the patch after the fact.

There is also a lot of internal API changes, and it made sense to remove ElaboratedType in one go, versus removing it from one type at a time, as that would present much more churn to the users. Also, the nested name specifier having a different API avoids missing changes related to how prefixes work now, which could make existing code compile but not work.

How to review: The important changes are all in `clang/include/clang/AST` and `clang/lib/AST`, with also important changes in `clang/lib/Sema/TreeTransform.h`.

The rest and bulk of the changes are mostly consequences of the changes in API.

PS: TagType::getDecl is renamed to `getOriginalDecl` in this patch, just for easier to rebasing. I plan to rename it back after this lands.

Fixes #136624
Fixes #147000
mizvekov added a commit that referenced this pull request Aug 9, 2025
@mizvekov mizvekov force-pushed the users/mizvekov/name-qualification-refactor branch from 9a9b252 to 80f2f57 Compare August 9, 2025 05:29
mizvekov added a commit that referenced this pull request Aug 9, 2025
mizvekov added a commit that referenced this pull request Aug 9, 2025
This contains the NestedNameSpecifier representation changes originally
from: #147835
mizvekov added a commit that referenced this pull request Aug 9, 2025
…anges (#148015)

clang tools extra changes

Fourth and last patch in the series, starting at
#147835
mizvekov added a commit that referenced this pull request Aug 9, 2025
clang test changes

Third patch in the series, starting at
#147835
…nges (#148012)

Other changes

Second patch in the series starting at
#147835
@mizvekov mizvekov requested review from DeinAlptraum, JDevlieghere and a team as code owners August 9, 2025 06:44
@llvmbot llvmbot added libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. lldb labels Aug 9, 2025
@mizvekov mizvekov changed the title [PATCH 1/7] [clang] Improve nested name specifier AST representation [clang] Improve nested name specifier AST representation Aug 9, 2025
@mizvekov
Copy link
Contributor Author

mizvekov commented Aug 9, 2025

The HLSL Tests bot failure was some GitHub permission issue when publishing the results of the successful run:

2025-08-09T07:06:35.4098240Z Request POST /repos/llvm/llvm-project/check-runs failed with 403: Forbidden
2025-08-09T07:06:35.4098670Z 2025-08-09 02:06:35 -0500 - github.GithubRetry -  INFO - Request POST /repos/llvm/llvm-project/check-runs failed with 403: Forbidden
2025-08-09T07:06:35.4099210Z Traceback (most recent call last):
2025-08-09T07:06:35.4100200Z   File "/Users/cbieneman/actions-runner/_work/_actions/EnricoMi/publish-unit-test-result-action/170bf24d20d201b842d7a52403b73ed297e6645b/macos/../python/publish_test_results.py", line 546, in <module>
2025-08-09T07:06:35.4101240Z     main(settings, gha)
2025-08-09T07:06:35.4101840Z   File "/Users/cbieneman/actions-runner/_work/_actions/EnricoMi/publish-unit-test-result-action/170bf24d20d201b842d7a52403b73ed297e6645b/macos/../python/publish_test_results.py", line 269, in main
2025-08-09T07:06:35.4102530Z     Publisher(settings, gh, gha).publish(stats, results.case_results, conclusion)
2025-08-09T07:06:35.4103150Z   File "/Users/cbieneman/actions-runner/_work/_actions/EnricoMi/publish-unit-test-result-action/170bf24d20d201b842d7a52403b73ed297e6645b/python/publish/publisher.py", line 233, in publish
2025-08-09T07:06:35.4112040Z     data = self.publish_check(data)
2025-08-09T07:06:35.4112950Z   File "/Users/cbieneman/actions-runner/_work/_actions/EnricoMi/publish-unit-test-result-action/170bf24d20d201b842d7a52403b73ed297e6645b/python/publish/publisher.py", line 461, in publish_check
2025-08-09T07:06:35.4114640Z     check_run = self._repo.create_check_run(name=self._settings.check_name,
2025-08-09T07:06:35.4115270Z   File "/Users/cbieneman/actions-runner/_work/llvm-project/llvm-project/enricomi-publish-action-venv/lib/python3.9/site-packages/github/Repository.py", line 3885, in create_check_run
2025-08-09T07:06:35.4129000Z     headers, data = self._requester.requestJsonAndCheck(
2025-08-09T07:06:35.4129600Z   File "/Users/cbieneman/actions-runner/_work/llvm-project/llvm-project/enricomi-publish-action-venv/lib/python3.9/site-packages/github/Requester.py", line 550, in requestJsonAndCheck
2025-08-09T07:06:35.4133670Z     return self.__check(*self.requestJson(verb, url, parameters, headers, input, self.__customConnection(url)))
2025-08-09T07:06:35.4134330Z   File "/Users/cbieneman/actions-runner/_work/llvm-project/llvm-project/enricomi-publish-action-venv/lib/python3.9/site-packages/github/Requester.py", line 715, in requestJson
2025-08-09T07:06:35.4134930Z     return self.__requestEncode(cnx, verb, url, parameters, headers, input, encode)
2025-08-09T07:06:35.4135520Z   File "/Users/cbieneman/actions-runner/_work/llvm-project/llvm-project/enricomi-publish-action-venv/lib/python3.9/site-packages/github/Requester.py", line 812, in __requestEncode
2025-08-09T07:06:35.4136240Z     status, responseHeaders, output = self.__requestRaw(cnx, verb, url, requestHeaders, encoded_input)
2025-08-09T07:06:35.4136880Z   File "/Users/cbieneman/actions-runner/_work/llvm-project/llvm-project/enricomi-publish-action-venv/lib/python3.9/site-packages/github/Requester.py", line 846, in __requestRaw
2025-08-09T07:06:35.4137490Z     response = cnx.getresponse()
2025-08-09T07:06:35.4138000Z   File "/Users/cbieneman/actions-runner/_work/llvm-project/llvm-project/enricomi-publish-action-venv/lib/python3.9/site-packages/github/Requester.py", line 198, in getresponse
2025-08-09T07:06:35.4138500Z     r = verb(
2025-08-09T07:06:35.4138940Z   File "/Users/cbieneman/actions-runner/_work/llvm-project/llvm-project/enricomi-publish-action-venv/lib/python3.9/site-packages/requests/sessions.py", line 637, in post
2025-08-09T07:06:35.4141770Z     return self.request("POST", url, data=data, json=json, **kwargs)
2025-08-09T07:06:35.4142390Z   File "/Users/cbieneman/actions-runner/_work/llvm-project/llvm-project/enricomi-publish-action-venv/lib/python3.9/site-packages/requests/sessions.py", line 589, in request
2025-08-09T07:06:35.4142900Z     resp = self.send(prep, **send_kwargs)
2025-08-09T07:06:35.4143390Z   File "/Users/cbieneman/actions-runner/_work/llvm-project/llvm-project/enricomi-publish-action-venv/lib/python3.9/site-packages/requests/sessions.py", line 703, in send
2025-08-09T07:06:35.4143890Z     r = adapter.send(request, **kwargs)
2025-08-09T07:06:35.4144370Z   File "/Users/cbieneman/actions-runner/_work/llvm-project/llvm-project/enricomi-publish-action-venv/lib/python3.9/site-packages/requests/adapters.py", line 667, in send
2025-08-09T07:06:35.4145190Z     resp = conn.urlopen(
2025-08-09T07:06:35.4145680Z   File "/Users/cbieneman/actions-runner/_work/llvm-project/llvm-project/enricomi-publish-action-venv/lib/python3.9/site-packages/urllib3/connectionpool.py", line 934, in urlopen
2025-08-09T07:06:35.4149990Z     retries = retries.increment(method, url, response=response, _pool=self)
2025-08-09T07:06:35.4150560Z   File "/Users/cbieneman/actions-runner/_work/llvm-project/llvm-project/enricomi-publish-action-venv/lib/python3.9/site-packages/github/GithubRetry.py", line 187, in increment
2025-08-09T07:06:35.4152030Z     raise Requester.createException(response.status, response.headers, content)  # type: ignore
2025-08-09T07:06:35.4152720Z github.GithubException.GithubException: 403 {"message": "Resource not accessible by integration", "documentation_url": "https://docs.github.com/rest/checks/runs#create-a-check-run", "status": "403"}
2025-08-09T07:06:35.4812330Z ##[error]Process completed with exit code 1.

@mizvekov mizvekov merged commit 91cdd35 into main Aug 9, 2025
16 of 18 checks passed
@mizvekov mizvekov deleted the users/mizvekov/name-qualification-refactor branch August 9, 2025 08:06
@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 9, 2025

LLVM Buildbot has detected a new failure on builder libc-x86_64-debian-dbg-bootstrap-build running on libc-x86_64-debian while building clang-tools-extra,clang,libcxx,lldb at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/200/builds/14983

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py ...' (failure)
...
[396/659] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/ASTMerge.cpp.o
[397/659] Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTReaderStmt.cpp.o
[398/659] Linking CXX static library lib/libclangAnalysis.a
[399/659] Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/CommentToXML.cpp.o
[400/659] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/CreateInvocationFromCommandLine.cpp.o
[401/659] Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/FileIndexRecord.cpp.o
[402/659] Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTWriterDecl.cpp.o
[403/659] Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTWriterStmt.cpp.o
[404/659] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/DependencyFile.cpp.o
[405/659] Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteObjC.cpp.o
FAILED: tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteObjC.cpp.o 
/usr/bin/clang++ -DCLANG_EXPORTS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/build/tools/clang/lib/Frontend/Rewrite -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/build/tools/clang/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/build/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -fno-common -Woverloaded-virtual -Wno-nested-anon-types -g  -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteObjC.cpp.o -MF tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteObjC.cpp.o.d -o tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteObjC.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:2361:52: error: no member named 'getTagDeclType' in 'clang::ASTContext'
  QualType argT = Context->getPointerType(Context->getTagDeclType(RD));
                                          ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:2404:52: error: no member named 'getTagDeclType' in 'clang::ASTContext'
  QualType argT = Context->getPointerType(Context->getTagDeclType(RD));
                                          ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:2555:19: error: no member named 'getTagDeclType' in 'clang::ASTContext'
  return Context->getTagDeclType(SuperStructDecl);
         ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:2588:19: error: no member named 'getTagDeclType' in 'clang::ASTContext'
  return Context->getTagDeclType(ConstantStringDecl);
         ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:3753:56: error: no member named 'getTagDeclType' in 'clang::ASTContext'
  QualType PtrBlock = Context->getPointerType(Context->getTagDeclType(RD));
                                              ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:4471:57: error: no member named 'getTagDeclType' in 'clang::ASTContext'
      QualType castT = Context->getPointerType(Context->getTagDeclType(RD));
                                               ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:4837:63: error: no member named 'getDecl' in 'clang::RecordType'
        RecordDecl *RD = VD->getType()->castAs<RecordType>()->getDecl();
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:5807:57: error: no member named 'getTagDeclType' in 'clang::ASTContext'
      QualType castT = Context->getPointerType(Context->getTagDeclType(RD));
                                               ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:5848:57: error: no member named 'getTagDeclType' in 'clang::ASTContext'
      QualType castT = Context->getPointerType(Context->getTagDeclType(RD));
                                               ~~~~~~~  ^
9 errors generated.
[406/659] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/ModuleDependencyCollector.cpp.o
[407/659] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/InitPreprocessor.cpp.o
[408/659] Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteModernObjC.cpp.o
FAILED: tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteModernObjC.cpp.o 
/usr/bin/clang++ -DCLANG_EXPORTS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/build/tools/clang/lib/Frontend/Rewrite -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/build/tools/clang/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/build/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -fno-common -Woverloaded-virtual -Wno-nested-anon-types -g  -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteModernObjC.cpp.o -MF tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteModernObjC.cpp.o.d -o tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteModernObjC.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp:855:51: error: no member named 'getDecl' in 'clang::RecordType'
    RecordDecl *RD = IvarT->castAs<RecordType>()->getDecl();
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp:868:65: error: no member named 'getTagDeclType' in 'clang::ASTContext'
Step 6 (build libc) failure: build libc (failure)
...
[396/659] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/ASTMerge.cpp.o
[397/659] Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTReaderStmt.cpp.o
[398/659] Linking CXX static library lib/libclangAnalysis.a
[399/659] Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/CommentToXML.cpp.o
[400/659] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/CreateInvocationFromCommandLine.cpp.o
[401/659] Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/FileIndexRecord.cpp.o
[402/659] Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTWriterDecl.cpp.o
[403/659] Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTWriterStmt.cpp.o
[404/659] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/DependencyFile.cpp.o
[405/659] Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteObjC.cpp.o
FAILED: tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteObjC.cpp.o 
/usr/bin/clang++ -DCLANG_EXPORTS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/build/tools/clang/lib/Frontend/Rewrite -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/build/tools/clang/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/build/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -fno-common -Woverloaded-virtual -Wno-nested-anon-types -g  -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteObjC.cpp.o -MF tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteObjC.cpp.o.d -o tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteObjC.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:2361:52: error: no member named 'getTagDeclType' in 'clang::ASTContext'
  QualType argT = Context->getPointerType(Context->getTagDeclType(RD));
                                          ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:2404:52: error: no member named 'getTagDeclType' in 'clang::ASTContext'
  QualType argT = Context->getPointerType(Context->getTagDeclType(RD));
                                          ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:2555:19: error: no member named 'getTagDeclType' in 'clang::ASTContext'
  return Context->getTagDeclType(SuperStructDecl);
         ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:2588:19: error: no member named 'getTagDeclType' in 'clang::ASTContext'
  return Context->getTagDeclType(ConstantStringDecl);
         ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:3753:56: error: no member named 'getTagDeclType' in 'clang::ASTContext'
  QualType PtrBlock = Context->getPointerType(Context->getTagDeclType(RD));
                                              ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:4471:57: error: no member named 'getTagDeclType' in 'clang::ASTContext'
      QualType castT = Context->getPointerType(Context->getTagDeclType(RD));
                                               ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:4837:63: error: no member named 'getDecl' in 'clang::RecordType'
        RecordDecl *RD = VD->getType()->castAs<RecordType>()->getDecl();
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:5807:57: error: no member named 'getTagDeclType' in 'clang::ASTContext'
      QualType castT = Context->getPointerType(Context->getTagDeclType(RD));
                                               ~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp:5848:57: error: no member named 'getTagDeclType' in 'clang::ASTContext'
      QualType castT = Context->getPointerType(Context->getTagDeclType(RD));
                                               ~~~~~~~  ^
9 errors generated.
[406/659] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/ModuleDependencyCollector.cpp.o
[407/659] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/InitPreprocessor.cpp.o
[408/659] Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteModernObjC.cpp.o
FAILED: tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteModernObjC.cpp.o 
/usr/bin/clang++ -DCLANG_EXPORTS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/build/tools/clang/lib/Frontend/Rewrite -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/build/tools/clang/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/build/include -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -fno-common -Woverloaded-virtual -Wno-nested-anon-types -g  -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteModernObjC.cpp.o -MF tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteModernObjC.cpp.o.d -o tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteModernObjC.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp:855:51: error: no member named 'getDecl' in 'clang::RecordType'
    RecordDecl *RD = IvarT->castAs<RecordType>()->getDecl();
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian/libc-x86_64-debian-dbg-bootstrap-build/llvm-project/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp:868:65: error: no member named 'getTagDeclType' in 'clang::ASTContext'

@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 9, 2025

LLVM Buildbot has detected a new failure on builder lldb-x86_64-debian running on lldb-x86_64-debian while building clang-tools-extra,clang,libcxx,lldb at step 6 "test".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/162/builds/28595

Here is the relevant piece of the build log for the reference
Step 6 (test) failure: build (failure)
...
PASS: lldb-api :: tools/lldb-server/TestGdbRemoteAuxvSupport.py (50 of 3137)
PASS: lldb-api :: python_api/find_in_memory/TestFindRangesInMemory.py (51 of 3137)
PASS: lldb-api :: tools/lldb-dap/completions/TestDAP_completions.py (52 of 3137)
PASS: lldb-api :: tools/lldb-server/qSupported/TestGdbRemote_qSupported.py (53 of 3137)
PASS: lldb-api :: functionalities/breakpoint/breakpoint_set_restart/TestBreakpointSetRestart.py (54 of 3137)
PASS: lldb-api :: tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py (55 of 3137)
PASS: lldb-api :: commands/settings/TestSettings.py (56 of 3137)
PASS: lldb-api :: functionalities/thread/state/TestThreadStates.py (57 of 3137)
PASS: lldb-api :: tools/lldb-dap/server/TestDAP_server.py (58 of 3137)
PASS: lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/vector/TestDataFormatterStdVector.py (59 of 3137)
FAIL: lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py (60 of 3137)
******************** TEST 'lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py' FAILED ********************
Script:
--
/usr/bin/python3 /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/lldb/test/API/dotest.py -u CXXFLAGS -u CFLAGS --env LLVM_LIBS_DIR=/home/worker/2.0.1/lldb-x86_64-debian/build/./lib --env LLVM_INCLUDE_DIR=/home/worker/2.0.1/lldb-x86_64-debian/build/include --env LLVM_TOOLS_DIR=/home/worker/2.0.1/lldb-x86_64-debian/build/./bin --arch x86_64 --build-dir /home/worker/2.0.1/lldb-x86_64-debian/build/lldb-test-build.noindex --lldb-module-cache-dir /home/worker/2.0.1/lldb-x86_64-debian/build/lldb-test-build.noindex/module-cache-lldb/lldb-api --clang-module-cache-dir /home/worker/2.0.1/lldb-x86_64-debian/build/lldb-test-build.noindex/module-cache-clang/lldb-api --executable /home/worker/2.0.1/lldb-x86_64-debian/build/./bin/lldb --compiler /home/worker/2.0.1/lldb-x86_64-debian/build/./bin/clang --dsymutil /home/worker/2.0.1/lldb-x86_64-debian/build/./bin/dsymutil --make /usr/bin/gmake --llvm-tools-dir /home/worker/2.0.1/lldb-x86_64-debian/build/./bin --lldb-obj-root /home/worker/2.0.1/lldb-x86_64-debian/build/tools/lldb --lldb-libs-dir /home/worker/2.0.1/lldb-x86_64-debian/build/./lib --cmake-build-type Release -t /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string -p TestDataFormatterStdString.py
--
Exit Code: 1

Command Output (stdout):
--
lldb version 22.0.0git (https://github.com/llvm/llvm-project.git revision 91cdd35008e9ab32dffb7e401cdd7313b3461892)
  clang revision 91cdd35008e9ab32dffb7e401cdd7313b3461892
  llvm revision 91cdd35008e9ab32dffb7e401cdd7313b3461892
Skipping the following test categories: ['libc++', 'msvcstl', 'dsym', 'gmodules', 'debugserver', 'objc']

--
Command Output (stderr):
--
Change dir to: /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string
UNSUPPORTED: LLDB (/home/worker/2.0.1/lldb-x86_64-debian/build/bin/clang-x86_64) :: test_embedded_null_libcxx_dsym (TestDataFormatterStdString.StdStringDataFormatterTestCase.test_embedded_null_libcxx_dsym) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/worker/2.0.1/lldb-x86_64-debian/build/bin/clang-x86_64) :: test_embedded_null_libcxx_dwarf (TestDataFormatterStdString.StdStringDataFormatterTestCase.test_embedded_null_libcxx_dwarf) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/worker/2.0.1/lldb-x86_64-debian/build/bin/clang-x86_64) :: test_embedded_null_libcxx_dwo (TestDataFormatterStdString.StdStringDataFormatterTestCase.test_embedded_null_libcxx_dwo) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/worker/2.0.1/lldb-x86_64-debian/build/bin/clang-x86_64) :: test_embedded_null_libstdcxx_dsym (TestDataFormatterStdString.StdStringDataFormatterTestCase.test_embedded_null_libstdcxx_dsym) (test case does not fall in any category of interest for this run) 
runCmd: settings clear --all

output: 

runCmd: settings set symbols.enable-external-lookup false

output: 

runCmd: settings set target.inherit-tcc true

output: 

runCmd: settings set target.disable-aslr false

output: 


@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 9, 2025

LLVM Buildbot has detected a new failure on builder lldb-aarch64-ubuntu running on linaro-lldb-aarch64-ubuntu while building clang-tools-extra,clang,libcxx,lldb at step 6 "test".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/59/builds/22354

Here is the relevant piece of the build log for the reference
Step 6 (test) failure: build (failure)
...
UNSUPPORTED: lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/u8string_view/TestDataFormatterStdU8StringView.py (413 of 2304)
UNSUPPORTED: lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/valarray/TestDataFormatterStdValarray.py (414 of 2304)
PASS: lldb-api :: functionalities/completion/TestCompletion.py (415 of 2304)
PASS: lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/TestDataFormatterLibcxxInvalidVectorSimulator.py (416 of 2304)
PASS: lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterStdVBool.py (417 of 2304)
PASS: lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/TestDataFormatterLibcxxOptionalSimulator.py (418 of 2304)
PASS: lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/TestDataFormatterStdUniquePtr.py (419 of 2304)
UNSUPPORTED: lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/invalid-string/TestDataFormatterLibcxxInvalidString.py (420 of 2304)
PASS: lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/TestDataFormatterLibcxxUniquePtrSimulator.py (421 of 2304)
PASS: lldb-api :: functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/TestDataFormatterInvalidStdVariant.py (422 of 2304)
FAIL: lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py (423 of 2304)
******************** TEST 'lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py' FAILED ********************
Script:
--
/usr/bin/python3.10 /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/dotest.py -u CXXFLAGS -u CFLAGS --env LLVM_LIBS_DIR=/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./lib --env LLVM_INCLUDE_DIR=/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/include --env LLVM_TOOLS_DIR=/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./bin --arch aarch64 --build-dir /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/lldb-test-build.noindex --lldb-module-cache-dir /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/lldb-test-build.noindex/module-cache-lldb/lldb-api --clang-module-cache-dir /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/lldb-test-build.noindex/module-cache-clang/lldb-api --executable /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./bin/lldb --compiler /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./bin/clang --dsymutil /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./bin/dsymutil --make /usr/bin/gmake --llvm-tools-dir /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./bin --lldb-obj-root /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/tools/lldb --lldb-libs-dir /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./lib --cmake-build-type Release /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string -p TestDataFormatterStdString.py
--
Exit Code: 1

Command Output (stdout):
--
lldb version 22.0.0git (https://github.com/llvm/llvm-project.git revision 91cdd35008e9ab32dffb7e401cdd7313b3461892)
  clang revision 91cdd35008e9ab32dffb7e401cdd7313b3461892
  llvm revision 91cdd35008e9ab32dffb7e401cdd7313b3461892
Skipping the following test categories: ['libc++', 'msvcstl', 'dsym', 'gmodules', 'debugserver', 'objc']

--
Command Output (stderr):
--
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_embedded_null_libcxx_dsym (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_embedded_null_libcxx_dwarf (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_embedded_null_libcxx_dwo (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_embedded_null_libstdcxx_dsym (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
XFAIL: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_embedded_null_libstdcxx_dwarf (TestDataFormatterStdString.StdStringDataFormatterTestCase)
XFAIL: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_embedded_null_libstdcxx_dwo (TestDataFormatterStdString.StdStringDataFormatterTestCase)
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_embedded_null_msvc_dsym (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_embedded_null_msvc_dwarf (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_embedded_null_msvc_dwo (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_libcxx_dsym (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_libcxx_dwarf (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_libcxx_dwo (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_libstdcxx_dsym (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_libstdcxx_dwarf (TestDataFormatterStdString.StdStringDataFormatterTestCase)
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_libstdcxx_dwo (TestDataFormatterStdString.StdStringDataFormatterTestCase)
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_msvc_dsym (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_msvc_dwarf (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_msvc_dwo (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_multibyte_libcxx_dsym (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_multibyte_libcxx_dwarf (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_multibyte_libcxx_dwo (TestDataFormatterStdString.StdStringDataFormatterTestCase) (test case does not fall in any category of interest for this run) 

mizvekov added a commit that referenced this pull request Aug 9, 2025
This completes #147835
by adapting the changes in the API to the rewriter.

Fixes build failures such as reported here: #147835 (comment)

We previously missed this because it was not tested in pre-commit CI.
This patch also addresses that problem.
mizvekov added a commit that referenced this pull request Aug 9, 2025
This completes #147835
by adapting the changes in the API to the rewriter.

Fixes build failures such as reported here: #147835 (comment)

We previously missed this because it was not tested in pre-commit CI.
mizvekov added a commit that referenced this pull request Aug 9, 2025
This completes #147835 by
adapting the changes in the API to the rewriter.

Fixes build failures such as reported here:
#147835 (comment)

We previously missed this because it was not tested in pre-commit CI.
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request Aug 9, 2025
This completes llvm/llvm-project#147835 by
adapting the changes in the API to the rewriter.

Fixes build failures such as reported here:
llvm/llvm-project#147835 (comment)

We previously missed this because it was not tested in pre-commit CI.
searlmc1 pushed a commit to ROCm/llvm-project that referenced this pull request Aug 10, 2025
…m#147835)"

needs dependent PR
  [clang][CGRecordLayout] Remove dependency on isZeroSize (llvm#96422)

This reverts commit 91cdd35.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:AArch64 backend:AMDGPU backend:ARC backend:ARM backend:CSKY backend:Hexagon backend:Lanai backend:loongarch backend:MIPS backend:PowerPC backend:RISC-V backend:Sparc backend:SystemZ backend:WebAssembly backend:X86 clang:analysis clang:as-a-library libclang and C++ API clang:bytecode Issues for the clang bytecode constexpr interpreter clang:codegen IR generation bugs: mangling, exceptions, etc. clang:dataflow Clang Dataflow Analysis framework - https://clang.llvm.org/docs/DataFlowAnalysisIntro.html clang:frontend Language frontend issues, e.g. anything involving "Sema" clang:modules C++20 modules and Clang Header Modules clang:openmp OpenMP related changes to Clang clang:static analyzer clang Clang issues not falling into any other category clang-tidy clang-tools-extra clangd coroutines C++20 coroutines debuginfo HLSL HLSL Language Support libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. lldb
Projects
None yet